import { EndpointParams, EndpointV2 } from "@smithy/types"
import { aws_region } from "./aws_region"
import { default_values } from "./default_values"
import { headers } from "./headers"
import { local_region_override } from "./local_region_override"
import { parse_url } from "./parse_url"
import { substring } from "./substring"
import { uri_encode } from "./uri_encode"
import { valid_hostlabel } from "./valid_hostlabel"

interface Expect{
  endpoint?:EndpointV2,
  error?:string
}
interface TestCase{
  documentation:string,
  params:EndpointParams,
  expect:Expect
  skip?:boolean
}
export interface TestCases{
  testCases:TestCase[],
  version:string
}
export const testCases:Record<string,TestCases>={
  'aws_region':aws_region,
  'default_values':default_values,
  'headers':headers,
  'local_region_override':local_region_override,
  'parse_url':parse_url,
  'substring':substring,
  'uri_encode':uri_encode,
  'valid_hostlabel':valid_hostlabel
}